<table>
    <thead>
        <tr>
            <g:sortableColumn property="serialNumber" title="${message(code: 'product.serialNumber.label', default: 'Product Number')}" />
            <g:sortableColumn property="name" title="${message(code: 'product.name.label', default: 'Name')}" />
            <g:sortableColumn property="standard" title="${message(code: 'product.standard.label', default: 'Standard')}" />
            <g:sortableColumn property="unit" title="${message(code: 'product.unit.label', default: 'Unit')}" />
        </tr>
    </thead>
    <tbody>
    <g:each in="${productInstanceList}" status="i" var="productInstance">
        <tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
            <td><g:link action="show" id="${productInstance.id}">${fieldValue(bean: productInstance, field: "serialNumber")}</g:link></td>
            <td>${fieldValue(bean: productInstance, field: "name")}</td>
            <td>${fieldValue(bean: productInstance, field: "standard")}</td>
            <td>${fieldValue(bean: productInstance, field: "unit")}</td>
        </tr>
    </g:each>
    </tbody>
</table>